package com.ifast.oupei.service;

import com.ifast.oupei.domain.MatchDO;
import com.ifast.oupei.vo.MatchVO;

import java.io.IOException;
import java.util.List;
import org.jsoup.select.Elements;
import org.w3c.dom.Document;

import com.baomidou.mybatisplus.plugins.Page;
import com.ifast.common.base.CoreService;

/**
 * 
 * <pre>
 * 比赛信息表
 * </pre>
 * <small> 2018-04-23 12:22:35 | Aron</small>
 */
public interface MatchService extends CoreService<MatchDO> {
	public String save(String leagueName,String season,String cupMatchCode) throws IOException;
	
	//获取所有比赛
	Page<MatchDO> ListAllMatchInfo(Page<MatchDO> page);
	//根据id获取比赛
	public MatchDO selectByMatchId(Integer id);
	//获取没有分析的比赛列表
	Page<MatchDO> selectisNotAnalyseMatchList(Page<MatchDO> page);
	//获取已分析但是错误的比赛列表  预测结果中不匹配真实结果 
	Page<MatchDO> selectErrorAnalyseMatchList(Page<MatchDO> page);
	//获取已分析有错误，复盘不了，仍旧存疑问的比赛
	Page<MatchDO> selectisQuestionMatchList(Page<MatchDO> page);
	//对elements进行清洗，对数据库已经存在的进行移除。
	Elements getElements(Elements eles);
	//获取所有的轮次
	String[] getTurnList(Integer leagueId);
  	//获取默认轮次
  	String getTurn(Integer leagueId);
  	//获取某轮次的比赛
  	List<MatchVO> getMatchByIdAndTurn(Integer id,String turn);
  //获取一场比赛的所有信息 
  	MatchVO getMatchInfo(Integer ticketsId);
  //获取历史比赛的所有信息
  	List<MatchVO> getHistoryMatchList(Integer hometeamId,Integer guestteamId,String date,Integer limit,Integer companyId,Integer id);
  	//获取近期limit场比赛的所有信息
  	List<MatchVO> getLateMatchList(Integer teamId,String date,Integer limit,Integer companyId,Integer id);
  	//获取下载的document列表
  	List<Document> getDocuments(List<MatchVO> matchList,boolean all) throws Exception;
  	// 获取没有比分的比赛列表
  	List<MatchDO> getScoreList();
 // 获取没有比分的比赛列表
  	List<MatchDO> getNoOddsList();
}
